Flash memories include arrays of flash cells that are electrically programmed using relatively high drain and gate bias voltages. However, designers of electrical systems that incorporate flash memories prefer not to include high voltage supplies in the electrical systems in order to diminish electrical system cost and power consumption. As a result, flash memories are designed for use with low voltage supplies having voltages, for example, as low as three volts. Thus, the flash memories are also designed to include charge pumps to create the required higher supply voltages.
Conventionally, a flash cell is programmed by charging the floating gates of flash cells. The charge is drawn from the flash cells' channels into the floating gates by coincidentally applying relatively high drain- and gate-to-source voltage pulses to the flash cells. For example, the drain- and gate-to-source voltage pulses have maximum amplitudes of respectively five and eleven volts, and minimum amplitudes of zero volts. These gate- and drain-to-source voltage pulses respectively have pulse widths of thirty microseconds and ten microseconds.
When the amplitude of the drain-to-source voltage pulse is minimum, the flash cell operates in its cut-off region. When the amplitude of the drain-to-source voltage pulse is maximum, the flash cell operates in its linear region because the threshold of an erased or unprogrammed flash cell is typically about three volts. During the transition of the drain-to-source voltage pulse between minimum and maximum amplitudes, the flash cell operates briefly in its saturated region.
In both the saturated and linear regions, modem flash cells generate hot electrons, in the channel current, that travel at a saturated or maximum velocity, and thus have high energy. Hot electrons arise in the channels of modem flash cells because the drain-to-source voltages are sufficiently high, and the flash cells' gate lengths are sufficiently small.
Hot electrons in the channel current form the programming current used to program the flash cell. The programming current is the flow of hot electrons from a flash cell channel into its floating gate. Hot electrons can only surmount the energy barrier separating the floating gate and the channel when the energy barrier is reduced by a sufficiently high gate-to-source voltage, such as when the flash cell operates in the linear region.
With conventional programming, the programming current is relatively small in comparison to the channel current. Thus, conventional programming is very inefficient. For example, conventional charge pumps can simultaneously program only relatively few flash cells. For example, one typical 16-bit programming operation is performed 4 bits, rather than 16 bits, at a time. This segmented programming operation significantly increases the programming time of flash memories. Therefore, there is a need to reduce the programming time of flash memories.